﻿using SD.ContentSystem.Domain.IRepositories.Interfaces;

namespace SD.ContentSystem.Domain.Mediators
{
    /// <summary>
    /// 仓储中介者
    /// </summary>
    public sealed class RepositoryMediator
    {
        /// <summary>
        /// 依赖注入构造器
        /// </summary>
        public RepositoryMediator(IArticleRepository articleRep, IChannelRepository channelRep, ILinkCategoryRepository linkCategoryRep, ILinkRepository linkRep, IMessageRepository messageRep, IPhotoAlbumRepository photoAlbumRep, IPhotoRepository photoRep)
        {
            this.ArticleRep = articleRep;
            this.ChannelRep = channelRep;
            this.LinkCategoryRep = linkCategoryRep;
            this.LinkRep = linkRep;
            this.MessageRep = messageRep;
            this.PhotoAlbumRep = photoAlbumRep;
            this.PhotoRep = photoRep;
        }

        /// <summary>
        /// 文章仓储接口
        /// </summary>
        public IArticleRepository ArticleRep { get; private set; }

        /// <summary>
        /// 栏目仓储接口
        /// </summary>
        public IChannelRepository ChannelRep { get; private set; }

        /// <summary>
        /// 链接类别仓储接口
        /// </summary>
        public ILinkCategoryRepository LinkCategoryRep { get; private set; }

        /// <summary>
        /// 链接仓储接口
        /// </summary>
        public ILinkRepository LinkRep { get; private set; }

        /// <summary>
        /// 消息仓储接口
        /// </summary>
        public IMessageRepository MessageRep { get; private set; }

        /// <summary>
        /// 相册仓储接口
        /// </summary>
        public IPhotoAlbumRepository PhotoAlbumRep { get; private set; }

        /// <summary>
        /// 相片仓储接口
        /// </summary>
        public IPhotoRepository PhotoRep { get; private set; }
    }
}
